Object search service employing an autonomous vehicle fleet

ABSTRACT

A computing system that can receive an object search request from a user indicating a request to search for a specific object in an area traversed by one or more autonomous vehicle. The object search request can include a set of physical characteristics of the specific object. The computing system can then transmit a signal to an autonomous vehicle indicating a request for the autonomous vehicle to search for the specific object. The signal can cause the autonomous vehicle to transmit an image, selected based on a physical characteristic of the object, to the computing system. The computing system can then generate a score indicative of a difference between one or more physical characteristic of the object in the image and the specific object. The computing system can then selectively transmit the image to a mobile device operated by the user based on the score.

BACKGROUND

Every year, millions of pets go missing in the United States, whichmeans on average one in three pets may go missing during their lifetime.Conventionally, when a pet goes missing, an owner creates and postslost-dog signs and/or manually searches a nearby area in hopes offinding the lost pet. This process can be time consuming and can resultin a limited or inefficient search for the pet. To overcome these flaws,some systems have been created in which a pet is preregistered in adatabase using a trait unique to the pet (e.g., pore and crease patternson the noses of dogs). If a third-party locates the missing pet, thethird-party can identify the unique trait of the pet and can compare thetrait to data in the database to determine the owner of the dog.

SUMMARY

The following is a brief summary of subject matter that is described ingreater detail herein. This summary is not intended to be limiting as toscope of the claims.

Described herein are various technologies pertaining to using one ormore autonomous vehicles to search for a specific object in anenvironment. With more specificity, a user can submit an object searchrequest to a computing system. The object search request can specify aspecific object to desirably be located in the environment by a fleet ofautonomous vehicles. Responsive to receipt of the object search request,the computing system can transmit a signal to one or more autonomousvehicles in the environment indicating that the autonomous vehicle(s)should passively search for the specific object. The autonomous vehiclespassively search for the specific object because they may look for thespecific object while traveling along a route generated for athird-party user and may not be routed based on the object searchrequest.

Subsequent to receipt of the signal at an autonomous vehicle, an imagethat potentially depicts the specific object can be captured by theautonomous vehicle (e.g., utilizing camera(s) of the autonomous vehicle,while passively searching for the specific object) and transmitted tothe computing system. Further, the image captured by the autonomousvehicle may be transmitted from the computing system to a deviceoperated by the user (e.g., a mobile computing device) to determinewhether the image depicts the specific object.

According to various embodiments, images captured by an autonomousvehicle subsequent to receipt of the signal can be filtered at leasttwice before being transmitted to the device. First, the images can befiltered by the autonomous vehicle before being transmitted to thecomputing system. The images can further be filtered by the computingsystem before being sent to the device.

When the user submits the object search request, the user can provide aset of characteristics for the specific object. The signal transmittedto the autonomous vehicle can include one or more characteristic of theset of characteristics. The autonomous vehicle can use thecharacteristic to determine whether an object in an image captured bythe autonomous vehicle and the specific object share the characteristic.The autonomous vehicle can generate a score based on a differencebetween the characteristic of the object in the image and thecharacteristic of the specific object and then use that score to selectwhich image(s) to transmit to the computing system.

Similarly, the computing system can use one or more characteristic ofthe set of characteristics to determine whether an object in an imagecaptured by the autonomous vehicle and the specific object share thecharacteristic. The computing system can generate a score based on adifference between the characteristic of the object in the image and thecharacteristic of the specific object and then use that score to selectwhich image(s) to transmit to the device. The characteristic(s) comparedby the autonomous vehicle and the characteristic(s) compared by thecomputing system may be the same characteristic(s) or may be differentcharacteristic(s).

In one example, the specific object comprises a dog that is missing. Inanother example, the specific object comprises a person (e.g., child)that is missing. The set of characteristics submitted by the user mayvary based on the specific object.

The above-described technologies present various advantages overconventional object search approaches. Unlike the conventional approachof preregistering in a database a trait unique to an object and relyingon a third-party who finds the object to then check the database for thetrait, the above-described technologies allow a user to submitcharacteristics to a computing system which in turn disseminates thecharacteristics to multiple autonomous vehicles that can identify thespecific object in an environment. Moreover, the above-describedtechnologies permit a user to leverage the fact that autonomous vehiclesprovide mobile cameras that are continuously scanning the environment tocooperatively search a large area for the specific object.

The above summary presents a simplified summary in order to provide abasic understanding of some aspects of the systems and/or methodsdiscussed herein. This summary is not an extensive overview of thesystems and/or methods discussed herein. It is not intended to identifykey/critical elements or to delineate the scope of such systems and/ormethods. Its sole purpose is to present some concepts in a simplifiedform as a prelude to the more detailed description that is presentedlater.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary system configured to provide an objectsearch service that utilizes an autonomous vehicle fleet.

FIG. 2 illustrates an exemplary computing system in communication withan exemplary autonomous vehicle.

FIG. 3 illustrates an exemplary driving environment of a plurality ofautonomous vehicles.

FIG. 4 is a flow diagram that illustrates an exemplary methodologyexecuted by computing system for utilizing one or more autonomousvehicles to search for a specific object.

FIG. 5 illustrates an exemplary computing system.

DETAILED DESCRIPTION

Various technologies pertaining to an object search service that employsan autonomous vehicle fleet are now described with reference to thedrawings, wherein like reference numerals are used to refer to likeelements throughout. In the following description, for purposes ofexplanation, numerous specific details are set forth in order to providea thorough understanding of one or more aspects. It may be evident,however, that such aspect(s) may be practiced without these specificdetails. In other instances, well-known structures and devices are shownin block diagram form in order to facilitate describing one or moreaspects. Further, it is to be understood that functionality that isdescribed as being carried out by certain system components may beperformed by multiple components. Similarly, for instance, a componentmay be configured to perform functionality that is described as beingcarried out by multiple components

Moreover, the term “or” is intended to mean an inclusive “or” ratherthan an exclusive “or.” That is, unless specified otherwise, or clearfrom the context, the phrase “X employs A or B” is intended to mean anyof the natural inclusive permutations. That is, the phrase “X employs Aor B” is satisfied by any of the following instances: X employs A; Xemploys B; or X employs both A and B. In addition, the articles “a” and“an” as used in this application and the appended claims shouldgenerally be construed to mean “one or more” unless specified otherwiseor clear from the context to be directed to a singular form.

Further, as used herein, the terms “component” and “system” are intendedto encompass computer-readable data storage that is configured withcomputer-executable instructions that cause certain functionality to beperformed when executed by a processor. The computer-executableinstructions may include a routine, a function, or the like. It is alsoto be understood that a component or system may be localized on a singledevice or distributed across several devices. Further, as used herein,the term “exemplary” is intended to mean serving as an illustration orexample of something and is not intended to indicate a preference.

Moreover, as used herein “child” is intended to encompass a minor and/orsomeone legally incapable of managing his or her own affairs.

Disclosed are various technologies that generally relate to employing afleet of autonomous vehicles to passively search for a specific objectwhile the autonomous vehicles travel in an environment. A computingsystem receives an object search request from a user (e.g., from adevice of the user) indicating a request to search for a specific objectand then transmits a signal to one or more autonomous vehicles in thefleet to search for the specific object. The object search request mayinclude a set of characteristics that may then be disseminated to theautonomous vehicles. Subsequent to receipt of the signal, an imagecaptured by an autonomous vehicle may be transmitted to the computingsystem; the computing system can send such image to the device operatedby the user to determine whether the image depicts the specific object.Images captured by the autonomous vehicles in the fleet can be filteredat least twice before being transmitted to the device. First, the imagescan be filtered by the autonomous vehicles before being transmitted tothe computing system. The images can further be filtered by thecomputing system before being sent to the device.

With reference now to FIG. 1, illustrated is a system 100 configured toprovide an object search service that utilizes an autonomous vehiclefleet. One or more autonomous vehicles in the fleet can passively searchfor a specific object. More specifically, in the system 100, anautonomous vehicle can initially filter images captured by theautonomous vehicle to select images that show an object with a physicalcharacteristic similar to a physical characteristic of the specificobject. The autonomous vehicle then transmits the selected images to acomputing system, which can perform further filtering of the selectedimages based on another physical characteristic. Subsequent to thefiltering performed by the computing system, the computing system cantransmit one or more of the selected images (as filtered) to the userwho can review to determine if any of the images include the specificobject.

In one embodiment, illustrated in FIG. 1, the system 100 includes acomputing system 102 (e.g., a server computing system) that is incommunication with a device 104. The device 104 can comprise anysuitable device operable by a user for interaction with the computingsystem 102. For instance, the device 104 can comprise a mobile computingdevice (e.g., a smartphone, a tablet computing device, a wearablecomputing device, etc.). By way of another example, the device 104 cancomprise a personal computer. In order to transmit data to the computingsystem 102 and/or receive data from the computing system 102, the device104 can include a transceiver (not pictured). The transceiver isconfigured to transmit data from the device 104 and/or receive data atthe device 104. Thus, the device 104 can be in communication with thecomputing system 102.

In the illustrated embodiment, the computing system 102 is incommunication with a plurality of autonomous vehicles, namely,autonomous vehicle 1 106, . . . , and autonomous vehicle X 108, where Xcan be substantially any integer greater than or equal to 2(collectively referred to herein as autonomous vehicles 106-108). Theautonomous vehicles 106-108 may be in the same fleet of autonomousvehicles and/or may be part of different fleets of autonomous vehicles.In another embodiment, the computing system 102 can be in communicationwith a single autonomous vehicle.

In order to transmit data to the device 104 and/or the autonomousvehicles 106-108 and/or receive data therefrom, the computing system 102may further include a transceiver 118. The transceiver 118 is configuredto transmit data from the computing system 102 and/or receive data atthe computing system 102. Thus, the computing system 102 can be incommunication with the device 104 and/or the autonomous vehicles106-108.

The computing system 102 is configured to receive an object searchrequest from the device 104 and, in response to receiving the objectsearch request, to transmit a signal to one or more of the autonomousvehicles 106-108. The object search request can indicate a requestentered by a user of the device 104 for a search for a specific objectin an area traversed by the one or more autonomous vehicles (e.g., fromthe autonomous vehicle 106-108). The signal transmitted to theautonomous vehicle(s) can indicate a request for the autonomousvehicle(s) to conduct a search for a specific object while theautonomous vehicle(s) travels through a search area that is locatedalong a route the autonomous vehicle is following in an environment.

In the following embodiments, the routes taken by the autonomousvehicles 106-108 may be set by one or more third-party users independentof the search request. Thus, the system 100 allows a user to leveragealready running image capturing being performed by an autonomous vehicleas it travels along a route to examine a search area that is locatedalong the route, without requiring an autonomous vehicle to be routed toexamine the search area. However, it is contemplated that the system 100can employ one or more autonomous vehicles that are dispatched toexamine the search area (e.g., for a specific object).

While the user submits the request in the device 104, the user may alsoenter a set of one or more characteristics of the specific object. Theset of characteristics can include any feature or trait that can be usedby the computing system 102 and/or the autonomous vehicles 106-108 tofilter images. For example, the characteristic can comprise a visuallyapparent (e.g., physical) characteristic of the specific object.

The specific object can include anything capable of being perceived byan autonomous vehicle. For example, the specific object can comprise apet (e.g., dog, cat, etc.) that is missing. In another example, thespecific object can comprise a missing person (e.g., missing child). Ina further example, the specific object can comprise a bag (e.g., purse,luggage) that may have been stolen and/or misplaced by the user of thedevice 104.

The characteristic(s) of the specific object can be entered into thesystem 100 via any suitable process. For instance, the user of thedevice 104 can be prompted to enter certain characteristics for thespecific object (e.g., color, last known location, breed of dog, etc.)when the user is making a request. Additionally, or alternatively, theuser may provide or select a photograph of the specific object using thedevice 104, which can in turn be used, e.g. by the computing system 102,to determine certain characteristics of the specific object. Forexample, a user can select a photograph of their dog that is missing andthe computing system 102 can be configured to detect certaincharacteristics of the dog based on the photograph.

The characteristics entered by the user may depend on the specificobject. For instance, where the specific object comprises a dog, thecharacteristic can include one or more of breed of the dog, height ofthe dog, weight of the dog, color of the dog, age of the dog, name ofthe dog, unique identifier of the dog (e.g., birthmark, physicalabnormality), and/or the like. In another example, where the objectcomprises a missing child, the characteristic can include one or more ofage of the child, name of the child, wardrobe of the child, height ofthe child, weight of the child, and/or the like.

The signal transmitted from the computing system 102 to the autonomousvehicle can specify one or more of these characteristics. Additionally,or alternatively, the signal may include a machine learning modeltrained to identify the one or more specified characteristics. Thecharacteristic can then be used by a computing system of the autonomousvehicle to filter images captured by the autonomous vehicle, as will bedescribed in detail below. The signal transmitted from the computingsystem 102 to the autonomous vehicle can further be configured to causethe autonomous vehicle to transmit one or more selected images to thecomputing system 102. The image(s) may be selected by the autonomousvehicle based on the characteristic of the specific object included inthe signal. The image(s) are selected because they include an objectwith a characteristic similar to the characteristic of the specificobject included in the signal.

Responsive to receiving one or more selected images, the computingsystem 102 may be further configured to generate a score indicative of adifference between one or more characteristic of the set ofcharacteristics of the specific object and the object in the image.Responsive to generating the score, the computing system 102 may be yetfurther configured to transmit the image to the device 104 operated bythe user based on the score (e.g., if the score is below a thresholdamount).

The computing system 102 may be further configured to transmit differentsignals based on locations of the autonomous vehicles 106-108 in anenvironment. For instance, a search area in the environment can bedefined and when an autonomous vehicle enters the search area, thecomputing system 102 can transmit a signal indicating a request for theautonomous vehicle to search for the specific object. In the sameexample, when the autonomous vehicle exits the defined search area, thecomputing system 102 can transmit a different signal indicating that theautonomous vehicle should refrain from searching for the specificobject.

Alternatively, the computing system 102 may transmit the same signal tothe autonomous vehicle 106-108 regardless of where the autonomousvehicle 106-108 is located. In this embodiment, the signal transmittedby the computing system 102 to the autonomous vehicles 106-108 mayinclude information indicative of the defined search area andinstruction for the autonomous vehicles 106-108 to search for thespecific object while located within the defined search area. The signalmay further indicate that the autonomous vehicle 106-108 not search forthe specific object while outside of the defined search area.

In order to achieve the actions described above, the computing system102 can include a processor 110 and memory 112 that includescomputer-executable instructions that are executed by the processor 110.The memory 112 may include an autonomous vehicle search system 114and/or an image filter system 116, which are described in detail below.

The autonomous vehicle search system 114 is configured to transmit asignal to one or more of the autonomous vehicles 106-108. The autonomousvehicle search system 114 may be configured to transmit differentsignals based on a location of the autonomous vehicle. Morespecifically, the autonomous vehicle search system 114 may transmit afirst signal when an autonomous vehicle enters or is in a search area.Whereas, the autonomous vehicle search system 114 may transmit adifferent, second signal when an autonomous vehicle exits a search area.

The search area may be defined by any suitable process for defining aconfined search area. The search area may be centered around anysuitable geographic location. For instance, the search area can becentered at a location of the device 104 when the request is transmittedto the computing system 102. In another example, the search area can becentered at a predefined domicile of the user. In a yet further example,the search area can be centered at a last known location of the specificobject defined by the user when the user enters the request into thedevice 104.

In one example, size of the search area may be defined by the user whenthe user enters the request into the device 104. In an embodiment, theuser can define an explicit search area size (e.g., five mile radius, 10blocks, etc.) when the user enters the request in the device 104. Inanother embodiment, the user can select a predefined search area size(e.g., small search area size, medium search area size, large searcharea size) when the user enters the request in the device 104. Thesearch area size can be predefined in the computing system 102 and whenthe user selects a predefined search area size, the computing system 102then applies the predefined size. The predefined search area sizes canbe similar for different types of specific objects and/or can vary basedon the type of specific object.

In another example, the size of the search area may be defined by thecomputing system 102. For instance, the computing system 102 may definethe search area size based on mobility of the specific object, lastknown location of the specific object, amount of time from when thespecific object was last seen to when the request was entered by theuser, and/or the like.

As the autonomous vehicles 106-108 travel along routes, the autonomousvehicle search system 114 can receive geographic locations of theautonomous vehicles 106-108 and can be configured to compare thegeographic location of an autonomous vehicle with one or more searchareas. The autonomous vehicle search system 114 can be configured totransmit a first signal indicating a request for an autonomous vehicleto search for a specific object when the autonomous vehicle entersand/or is in a search area. The autonomous vehicle search system 114 canbe configured to transmit a second signal indicating the autonomousvehicle should stop searching for the specific object when theautonomous vehicle leaves the search area.

The autonomous vehicle search system 114 can be further configured totransmit one or more characteristic of the specific object to theautonomous vehicle in addition to the first signal. The autonomousvehicle search system 114 may transmit to the autonomous vehicle all ofthe characteristics entered by the user or may select a portion of thecharacteristic(s) for transmission to the autonomous vehicle. Theautonomous vehicle search system 114 can be configured to select whichcharacteristic(s) to transmit to the autonomous vehicle based on anysuitable factor. For instance, the transmitted characteristic may beselected based on computational power needed for the autonomous vehicleto filter images based on that characteristic.

Responsive to receiving the first signal from the computing system 102,one or more of the autonomous vehicles 106-108 may transmit a selectedimage to the computing system 102. The image filter system 116 isconfigured to receive the selected image from the autonomous vehicles106-108 and to determine whether the selected image should be sent tothe device 104. More specifically, the image filter system 116 isconfigured to perform a second filtering step on the images receivedfrom the autonomous vehicles 106-108 to select images that are sent tothe device 104. Thus, the image(s) transmitted from the computing system102 to the device 104 have been filtered twice to remove to images thatdo not share a characteristic(s) with the specific object. The user ofthe device 104 can then look through the image(s) received at the deviceto determine whether the image includes the specific object.

The image filter system 116 can filter the images received from theautonomous vehicles 106-108 by generating a score that is indicative ofa difference between one or more characteristic of the set ofcharacteristics of the specific object and the object in the image. Thisscore can then be used to determine whether the image should betransmitted to the device 104. According to an example, only images witha score below a predefined threshold can be transmitted to the device104 from the computing system 102.

In addition to filtering the images received from the autonomousvehicles 106-108 based on one or more characteristics in the set ofcharacteristics, the image filter system 116 may be configured to filterthe images based on the environment surrounding the object. For example,where the specific object comprises a dog, the image filter system 116may filter out images of dogs that are attached to a leash that is heldby a person. According to another example, the autonomous vehicles106-108 can inhibit images of dogs on leashes from being transmitted tothe computing system 102.

Turning now to FIG. 2, illustrated is an exemplary autonomous vehicle200 (e.g., one of the autonomous vehicles 106-108) that is incommunication with the computing system 102. The autonomous vehicle 200can navigate about roadways without human conduction based upon sensorsignals output by sensor systems of the autonomous vehicle 200. Theautonomous vehicle 200 includes a plurality of sensor systems, namely, asensor system 1 202, . . . , and a sensor system N 204, where N can besubstantially any integer greater than or equal to 2 (collectivelyreferred to herein as sensor systems 202-204). The sensor systems202-204 are of different types and may be arranged about the autonomousvehicle 200. For example, the sensor system 1 202 may be a lidar sensorsystem and the sensor system N 204 may be a camera (image) system. Otherexemplary sensor systems 202-204 included are radar sensor systems,global positioning system (GPS) sensor systems, sonar sensor systems,infrared sensor systems, and the like.

The autonomous vehicle 200 further includes several mechanical systemsthat are used to effectuate appropriate motion of the autonomous vehicle200. For instance, the mechanical systems can include, but are notlimited to, a vehicle propulsion system 208, a braking system 210, and asteering system 212. The vehicle propulsion system 208 may be anelectric motor, an internal combustion engine, a combination thereof, orthe like. The braking system 210 can include an engine brake, brakepads, actuators, and/or any other suitable componentry that isconfigured to assist in decelerating the autonomous vehicle 200. Thesteering system 212 includes suitable componentry that is configured tocontrol the direction of the movement of the autonomous vehicle 200.

Similar to the computing system 102, in order to transmit data and/orreceive data, the autonomous vehicle 200 may further include atransceiver 206. The transceiver 206 is configured to transmit data fromthe autonomous vehicle 200 and/or receive data at the autonomous vehicle200. Thus, the autonomous vehicle 200 can be in communication with thecomputing system 102.

The autonomous vehicle 200 additionally comprises a computing system 214that is in communication with the sensor systems 202-204, thetransceiver 206, the vehicle propulsion system 208, the braking system210, and/or the steering system 212. The computing system 214 includes aprocessor 216 and memory 218 that includes computer-executableinstructions that are executed by the processor 216. In an example, theprocessor 216 can be or include a graphics processing unit (GPU), aplurality of GPUs, a central processing unit (CPU), a plurality of CPUs,an application-specific integrated circuit (ASIC), a microcontroller, orthe like.

The memory 218 includes a control system 224 configured to controloperation of the vehicle propulsion system 208, the braking system 210,and/or the steering system 212. The memory 218 may further include anobject search system 220 configured to receive the signal transmittedfrom the computing system 102. The memory 218 may yet further include animage filter system 222 configured to select which images captured bythe autonomous vehicle 200 are transmitted to the computing system 102.

The object search system 220 is configured to receive the signaltransmitted from the computing system 102 and to cause the autonomousvehicle 200 to filter images captured by the autonomous vehicle 200(e.g., by a camera system of the autonomous vehicle 200) fortransmission to the computing system 102. The object search system 220can assign one or more specific object characteristic to the imagefilter system 222. The object search system 220 may be configured toselect which specific object characteristic is assigned to the imagefilter system 222. For instance, where the signal from the computingsystem 102 includes a set of specific object characteristics, the objectsearch system 220 may assign a subset of the specific objectcharacteristics for use by the image filter system 222. The subset ofthe specific object characteristics assigned to the image filter system222 may be determined based on any suitable factors. For instance, thesubset may be decided based on an amount of computational power requiredfor image filter system 222 to filter images captured by the autonomousvehicle 200 based on that subset of the specific object characteristics.

The image filter system 222 can then use the characteristic(s) of thespecific object from the object search system 220, to filter throughimages captured by the autonomous vehicle 200. The images may becaptured by one or more of the sensor systems 202-204 as the autonomousvehicle 200 operates. As the images are captured while the autonomousvehicle 200 is in the search area, the image filter system 222 maydetermine whether each image includes an object with a similarclassification to that of the specific object. For instance, where thespecific object comprises a yellow golden retriever dog, the imagefilter system 222 may determine whether an image includes a dog.

Responsive to the image filter system 222 determining that an imageincludes an object with a similar classification to that of the specificobject, the image filter system 222 can then determine whether theobject in the image and the specific object share the characteristic(s)from the object search system 220. Similar to the image filter system116 of the computing system 102, the image filter system 222 of theautonomous vehicle 200 can generate a score that is indicative of adifference between the characteristic of the specific object and theobject in the image. This score can then be used to select which imageshould be transmitted to the computing system 102. For instance, onlyimages with a score below a predefined threshold will be transmitted tothe computing system 102. For example, where the specific objectcomprises a yellow dog, after the image filter system 222 determinesthat the image includes a dog, the image filter system 222 can thendetermine whether the dog is yellow and to transmit images of yellowdogs to the computing system 102.

In addition to filtering the images captured by the sensor systems202-204 based the characteristic(s) from the object search system 220,the image filter system 222 may configured to filter the images based onthe environment surrounding the object. For example, where the specificobject comprises a dog, the image filter system 222 may filter outimages of dogs that are attached to a leash that is held by a person.

The characteristic of the specific object used by the image filtersystem 116 of the computing system 102 and the image filter system 222of the autonomous vehicle 200 can be similar or can vary. For instance,the image filter system 222 of the autonomous vehicle 200 can filterimages based on the color of the specific object while the image filtersystem 116 of the computing system 102 can filter images based on a sizeof the specific object. Advantageously, filtering based on acharacteristic(s) that requires computationally lighter processing maybe performed by the image filter system 222 of the autonomous vehicle200, which may have a finite amount of processing power available andmay be operating under a heavy demand to perform other processes.Whereas, filtering based on a characteristic(s) that requirescomputationally heavier processing may be performed by the image filtersystem 116 of the computing system 102, which may have a larger amountof processing power compared with the autonomous vehicle 200.

The image filter system 222 may also be configured to remove outer areasfrom an image, i.e. crop an image. The image filter system 222 canremove portions of the image based on a location of the object withinthe image. The image can be cropped to remove irrelevant noise from aperiphery of the image, to change the image's aspect ratio, and/ormagnify the object. This cropping step can be performed at any stage ofthe filtering performed by the autonomous vehicle 200. For example, theimage can be cropped after it is determined that an image includes anobject with a similar classification to that of the specific object butprior to the image filter system 222 filtering the image based on thecharacteristic(s) of the specific object. In another example, the imagecan be cropped after the image filter system 222 selects the image fortransmission to the computing system 102.

The image filter system 222 may be further configured to transmit theone or more selected image at any suitable time. For instance, the imagefilter system 222 can transmit the selected image subsequent toselecting the image for transmission. In another example, the imagefilter system 222 can transmit the selected image when the autonomousvehicle 200 leaves the search area. In a further example, the imagefilter system 222 can transmit the selected image when the autonomousvehicle 200 enters a designated upload area.

In order to assist in locating the specific object, the imagetransmitted to the device 104 can include time and geographic locationof the autonomous vehicle 200 when the sensor systems 202-204 capturethe image. This information can be transmitted by the autonomous vehicle200 simultaneous with the image filter system 222 transmitting a selectimage.

In addition to the above described capabilities, the computing system102 may be further configured for a user to dispatch a speciallydesigned autonomous vehicle based on the one or more images received atthe device 104. More specifically, the user can indicate, e.g., via thedevice 104, that an image may include the specific object and canrequest that the specially designed autonomous vehicle be dispatched toa location associated with the image. The specially designed autonomousvehicle can be designed to potentially keep the specific object at thelocation the specially designed autonomous vehicle is dispatched tooand/or to receive the specific object and transport it to the user. Forinstance, where the specific object is missing dog, the speciallydesigned autonomous vehicle may be designed to externally emit the scentof dog food to try and keep the dog in a certain location.

Turning now to FIG. 3, illustrated is an exemplary embodiment ofsearching for a specific object using the techniques described herein.In the illustrated embodiment, the computing system 102 is incommunication with a plurality of autonomous vehicles, namely, a firstautonomous vehicle 300, a second autonomous vehicle 302, and a thirdautonomous vehicle 304 (collectively referred to herein as autonomousvehicles 300-304). Each of the autonomous vehicles 300-304 travel alonga different predefined route. More particularly, the first autonomousvehicle 300 travels along route 312, the second autonomous vehicle 302travels along route 314, and the third autonomous vehicle travels alongroute 316. Sensor systems in each of the autonomous vehicles 300-304 areconfigured to capture images of a range of an exterior environmentaround the autonomous vehicle. This range is symbolized by the circlearound each autonomous vehicle, specifically range 306 for the firstautonomous vehicle 300, range 308 for the second autonomous vehicle 302,and range 310 for the third autonomous vehicle 304.

A user can enter a search request for a missing dog into a device 104.The request can include one or more characteristic about the missingdog, e.g., that the dog is a yellow Labrador. This request is then sentto the computing system 102. The computing system 102 can then transmita signal to one or more of the autonomous vehicles 300-304 when theautonomous vehicle enters or is in a search area 311. The signalindicates that the autonomous vehicle should search for the missing dogand to transmit to the computing system 102 any images that may containthe missing dog. The signal can further indicate that the autonomousvehicle should select for transmission to the computing system 102images that contain a yellow dog.

As the first autonomous vehicle 300 travels along route 312, it maycapture one or more image of a first object 318 and/or a second object320. In the illustrated embodiment, the first object 318 comprises ayellow dog and the second object 320 comprises a cat. After capturing animage of the first object 318, the first autonomous vehicle 300determines whether the first object 318 comprises a dog; if yes, then itdetermines whether the dog is yellow. Because the first object 318 meetsboth filter criteria, the first autonomous vehicle 300 will then sendone or more image of the first object 318 to the computing system 102.Whereas, because the second object 320 comprises a cat, the secondobject 320 does not meet the initial filter criteria, the firstautonomous vehicle 300 will not perform the second filter criteria norsend an image of the second object 320 to the computing system 102.

As the second autonomous vehicle 302 travels along route 314, it maycapture one or more image of a third object 322 and/or a fourth object324. In the illustrated embodiment, the third object 322 comprises abrown dog and the fourth object 324 comprises a yellow dog. Aftercapturing an image of the third object 322, the second autonomousvehicle 302 determines whether the third object 322 comprises a dog; ifyes, then it determines whether the dog is yellow. Because the thirdobject 322 only meets the first criteria, the second autonomous vehicle302 does not transmit an image of the third object 318 to the computingsystem 102. Whereas, because the fourth object 324 meets both filtercriteria, the second autonomous vehicle 302 transmits an image of thefourth object 324 to the computing system 102.

As the third autonomous vehicle 304 travels along route 316, it leavesthe search area 311 for the missing dog and, therefore, receives asignal from the computing system 102 indicating the third autonomousvehicle 304 should stop searching for the missing dog. Subsequent toreceiving the stop search signal, the third autonomous vehicle 304captures an image of a fifth object 326, which comprises a yellow dog.However, because the third autonomous vehicle 304 is outside the searcharea 311, the third autonomous vehicle 304 will not perform anyfiltering steps on the image of the yellow dog.

Subsequent to receiving the images from the first autonomous vehicle 300and/or the second autonomous vehicle 302, the computing system 102 willthen perform a second filtering of the images. The computing system 102may determine whether the yellow dog comprises a yellow Labrador. If thefirst object 318 and/or the fourth object 324 comprises a yellowLabrador, its respective image will be transmitted from the computingsystem 102 to the device 104.

FIG. 4 illustrates an exemplary methodology relating to employing anautonomous vehicle to search for a specific object. While themethodology is shown as being a series of acts that are performed in asequence, it is to be understood and appreciated that the methodology isnot limited by the order of the sequence. For example, some acts canoccur in a different order than what is described herein. In addition,an act can occur concurrently with another act. Further, in someinstances, not all acts may be required to implement a methodologydescribed herein.

Moreover, the acts described herein may be computer-executableinstructions that can be implemented by one or more processors and/orstored on a computer-readable medium or media. The computer-executableinstructions can include a routine, a sub-routine, programs, a thread ofexecution, and/or the like. Still further, results of acts of themethodologies can be stored in a computer-readable medium displayed on adisplay device, and/or the like.

Referring now to FIG. 4 an exemplary methodology 400 for employing anautonomous vehicle to search for a specific object is illustrated. Themethodology 400 starts at 402, and at 404, a computing system receivesan object search request from a device operated by a user. The objectsearch request can indicate a request to search for a specific object inan area traversed by one or more autonomous vehicles. The object searchrequest may include a set of physical characteristics of the specificobject. At 406, responsive to receiving the object search request, thecomputing system transmits a signal to an autonomous vehicle indicatinga request for the autonomous vehicle to search for the specific object.The signal may be configured to cause the autonomous vehicle to transmita selected image captured by the autonomous vehicle to the computingsystem. The image selected for transmission may be selected based on aphysical characteristic of the specific object. At 408, responsive tothe computing system receiving the image from the autonomous vehicle,the computing system generates a score indicative of a differencebetween one or more physical characteristics of a set of a physicalcharacteristics of an object in the image and the specific object. At410, responsive to generating the score, the computing system mayselectively transmit the image to the device operated by the user basedon the score (e.g., when the score is below a threshold amount, etc.).The methodology 400 concludes at 412.

In an embodiment of the methodology 400, the signal can be transmittedto a fleet of autonomous vehicles. The autonomous vehicle may be in thefleet of autonomous vehicles. In another embodiment of the methodology400, the object search request may include a geographic search range.The image selected for transmission to the computing system may beselected based on location of the autonomous vehicle when the image wascaptured. More particularly, only images captured within the searchrange may be transmitted to the computing system.

In a further embodiment of the methodology 400, different physicalcharacteristics may be used for selecting which image is transmittedfrom the autonomous vehicle to the computing system and which image istransmitted from the computing system to the device. In yet anotherembodiment of the methodology 400, the specific object can comprise adog and the set of physical characteristics can include one or more ofbreed of the dog, color of the dog, height of the dog, age of the dog,or weight of the dog. In a version of this embodiment, the imageselected for transmission to the device may be further selected based onwhether the dog is attached to a leash held by a person.

Referring now to FIG. 5, a high-level illustration of an exemplarycomputing device that can be used in accordance with the systems andmethodologies disclosed herein is illustrated. For instance, thecomputing device 500 may be or include the mobile computing device orthe computing system. The computing device 500 includes at least oneprocessor 502 that executes instructions that are stored in a memory504. The instructions may be, for instance, instructions forimplementing functionality described as being carried out by one or morecomponents discussed above or instructions for implementing one or moremethods described above. The processor 502 may be a GPU, a plurality ofGPUs, a CPU, a plurality of CPUs, a multi-core processor, etc. Theprocessor 502 may access the memory 504 by way of a system bus 506. Inaddition to storing executable instructions, the memory 504 may alsostore images, data specifying characteristics of specific objects, etc.

The computing device 500 additionally includes a data store 510 that isaccessible by the processor 502 by way of the system bus 506. The datastore 510 may include executable instructions, images, data specifyingcharacteristics of specific objects, etc. The computing device 500 alsoincludes an input interface 508 that allows external devices tocommunicate with the computing device 500. For instance, the inputinterface 508 may be used to receive instructions from an externalcomputer device, from a user, etc. The computing device 500 alsoincludes an output interface 512 that interfaces the computing device500 with one or more external devices. For example, the computing device500 may display text, images, etc. by way of the output interface 512.

Additionally, while illustrated as a single system, it is to beunderstood that the computing device 500 may be a distributed system.Thus, for instance, several devices may be in communication by way of anetwork connection and may collectively perform tasks described as beingperformed by the computing device 500.

Various functions described herein can be implemented in hardware,software, or any combination thereof. If implemented in software, thefunctions can be stored on or transmitted over as one or moreinstructions or code on a computer-readable medium. Computer-readablemedia includes computer-readable storage media. A computer-readablestorage media can be any available storage media that can be accessed bya computer. By way of example, and not limitation, suchcomputer-readable storage media can comprise RAM, ROM, EEPROM, CD-ROM orother optical disk storage, magnetic disk storage or other magneticstorage devices, or any other medium that can be used to store desiredprogram code in the form of instructions or data structures and that canbe accessed by a computer. Disk and disc, as used herein, includecompact disc (CD), laser disc, optical disc, digital versatile disc(DVD), floppy disk, and blu-ray disc (BD), where disks usually reproducedata magnetically and discs usually reproduce data optically withlasers. Further, a propagated signal is not included within the scope ofcomputer-readable storage media. Computer-readable media also includescommunication media including any medium that facilitates transfer of acomputer program from one place to another. A connection, for instance,can be a communication medium. For example, if the software istransmitted from a website, server, or other remote source using acoaxial cable, fiber optic cable, twisted pair, digital subscriber line(DSL), or wireless technologies such as infrared, radio, and microwave,then the coaxial cable, fiber optic cable, twisted pair, DSL, orwireless technologies such as infrared, radio, and microwave areincluded in the definition of communication medium. Combinations of theabove should also be included within the scope of computer-readablemedia.

Alternatively, or in addition, the functionally described herein can beperformed, at least in part, by one or more hardware logic components.For example, and without limitation, illustrative types of hardwarelogic components that can be used include Field-programmable Gate Arrays(FPGAs), Application-specific Integrated Circuits (ASICs),Application-specific Standard Products (ASSPs), System-on-a-chip systems(SOCs), Complex Programmable Logic Devices (CPLDs), etc.

As described herein, one aspect of the present technology is thegathering and use of data available from various sources to improvequality and experience. The present disclosure contemplates that in someinstances, this gathered data may include personal information. Thepresent disclosure contemplates that the entities involved with suchpersonal information respect and value privacy policies and practices.

What has been described above includes examples of one or moreembodiments. It is, of course, not possible to describe everyconceivable modification and alteration of the above devices ormethodologies for purposes of describing the aforementioned aspects, butone of ordinary skill in the art can recognize that many furthermodifications and permutations of various aspects are possible.Accordingly, the described aspects are intended to embrace all suchalterations, modifications, and variations that fall within the spiritand scope of the appended claims. Furthermore, to the extent that theterm “includes” is used in either the details description or the claims,such term is intended to be inclusive in a manner similar to the term“comprising” as “comprising” is interpreted when employed as atransitional word in a claim.

What is claimed is:
 1. A computing system comprising: a processor;memory that stores computer-executable instructions that, when executedby the processor, cause the processor to perform acts comprising:receiving an object search request from a device operated by a user,wherein the object search request indicates a request to search for aspecific object in an area traversed by one or more autonomous vehicle,wherein the object search request includes a set of physicalcharacteristics of the specific object; responsive to receiving theobject search request, transmitting a signal to an autonomous vehicleindicating a request for the autonomous vehicle to search for thespecific object, wherein the signal is configured to cause theautonomous vehicle to transmit a selected image captured by theautonomous vehicle to the computing system, wherein the image selectedfor transmission is selected based on a physical characteristic of thespecific object; responsive to receiving the image, generating a scoreindicative of a difference between one or more physical characteristicof a set of physical characteristics of an object in the image and thespecific object; and responsive to generating the score, selectivelytransmitting the image to the device operated by the user based on thescore.
 2. The computing system of claim 1, wherein the physicalcharacteristic of the specific object used to select the image fortransmission to the computing system is different from the one or morephysical characteristic used in generating the score.
 3. The computingsystem of claim 2, wherein the set of physical characteristics of thespecific object includes a color of the specific object and a size ofthe specific object, wherein the image selected for transmission to thecomputing system is selected based on the color of the specific object,wherein the score is indicative of a difference between the size of thespecific object and a height of the object in the image.
 4. Thecomputing system of claim 1, wherein the specific object comprises adog, wherein the set of physical characteristics includes one or more ofbreed of the dog, color pattern of the dog, height of the dog, age ofthe dog, or weight of the dog.
 5. The computing system of claim 4,wherein the image selected for transmission to the computing system isfurther selected based on whether the dog is attached to a leash held bya person.
 6. The computing system of claim 1, wherein the object searchrequest further includes a geographic search range, wherein the imageselected for transmission to the computing system is further selectedbased on location of the autonomous vehicle when the image was captured.7. The computing system of claim 1, wherein the specific objectcomprises a person, wherein the set of physical characteristics includesone or more of age of the person, clothes worn by the person, height ofthe person, or weight of the person.
 8. The computing system of claim 1,wherein the step of transmitting the signal to the autonomous vehiclefurther comprises transmitting the signal to a fleet of autonomousvehicles, wherein the autonomous vehicle is in the fleet of autonomousvehicles.
 9. A method performed by a computing system comprising:receiving an object search request from a device operated by a user,wherein the object search request indicates a request to search for aspecific object in an area traversed by one or more autonomous vehicle,wherein the object search request includes a set of physicalcharacteristics of the specific object; responsive to receiving theobject search request, transmitting a signal to an autonomous vehicleindicating a request for the autonomous vehicle to search for thespecific object, wherein the signal is configured to cause theautonomous vehicle to transmit a selected image captured by theautonomous vehicle to the computing system, wherein the image selectedfor transmission is selected based on a physical characteristic of thespecific object; responsive to receiving the image, generating a scoreindicative of a difference between one or more physical characteristicof a set of physical characteristics of an object in the image and thespecific object; and responsive to generating the score, selectivelytransmitting the image to the device operated by the user based on thescore.
 10. The method of claim 9, wherein transmitting the signal to theautonomous vehicle further comprises transmitting the signal to a fleetof autonomous vehicles, wherein the autonomous vehicle is in the fleetof autonomous vehicles.
 11. The method of claim 9, wherein the objectsearch request further includes a geographic search range, wherein theimage selected for transmission to the computing system is furtherselected based on location of the autonomous vehicle when the image wascaptured.
 12. The method of claim 9, wherein the physical characteristicof the specific object used to select the image for transmission to thecomputing system is different from the one or more physicalcharacteristic used in generating the score.
 13. The method of claim 9,wherein the specific object comprises a dog, wherein the set of physicalcharacteristics includes one or more of breed of the dog, color of thedog, height of the dog, age of the dog, or weight of the dog.
 14. Themethod of claim 13, wherein the image selected for transmission to thedevice is further selected based on whether the dog is attached to aleash held by a person.
 15. An autonomous vehicle, comprising: a sensorsystem configured to capture images of an environment external to theautonomous vehicle; and a computing system that is in communication withthe sensor system, wherein the computing system comprises: a processor;and memory that stores computer-executable instructions that, whenexecuted by the processor, cause the processor to perform actscomprising: receiving, at the autonomous vehicle, a signal from acomputing system indicative of a request for the autonomous vehicle tosearch for a specific object, wherein the signal further includes aphysical characteristic of the specific object; responsive to receivingthe signal, generating an image set by filtering images captured by thesensor system based on respective scores for the images, wherein a scorefor a particular image is indicative of a difference between a physicalcharacteristic of an object in the particular image and specific object;and transmitting the image set to the computing system.
 16. Theautonomous vehicle of claim 15, wherein generating the image set furthercomprises cropping the images captured by the sensor system.
 17. Theautonomous vehicle of claim 15, wherein the signal further includes ageographic search range, wherein generating the image set furtherincludes filtering the images based on locations of the autonomousvehicle at which the images are respectively captured.
 18. Theautonomous vehicle of claim 15, wherein the specific object comprises adog, wherein the physical characteristic comprises a color pattern ofthe dog.
 19. The autonomous vehicle of claim 18, wherein the score isbased on whether the dog is attached to a leash held by a person. 20.The autonomous vehicle of claim 15, wherein the specific objectcomprises a person, wherein the physical characteristic comprises anoutfit worn by the person.